package io.github.talelin.latticy.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.github.talelin.latticy.model.BaseModel;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 用户充值记录DO
 * @author talelin
 */
@Data
@TableName("user_recharge_record")
public class UserRechargeRecordDO {

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @JsonIgnore
    private Date createTime;

    @JsonIgnore
    private Date updateTime;

    @TableLogic
    @JsonIgnore
    private Date deleteTime;

    /**
     * 用户ID
     */
    private Integer userId;

    /**
     * 充值金额（元）
     */
    private BigDecimal rechargeAmount;

    /**
     * 充值积分数量
     */
    private Integer pointsAmount;

    /**
     * 充值类型：manual(手动), auto(自动), refund(退款)
     */
    private String rechargeType;

    /**
     * 支付方式：alipay, wechat, bank, admin
     */
    private String paymentMethod;

    /**
     * 第三方交易ID
     */
    private String transactionId;

    /**
     * 状态：pending(待处理), success(成功), failed(失败), cancelled(已取消)
     */
    private String status;

    /**
     * 操作员ID
     */
    private Integer operatorId;

    /**
     * 操作员姓名
     */
    private String operatorName;

    /**
     * 备注
     */
    private String remark;
}